package ntlmssp

import (
	
)

type varField struct {
	Len          uint16
	MaxLen       uint16
	BufferOffset uint32
}

func ( varField) ( []byte) ([]byte, error) {
	if len() < int(.BufferOffset+uint32(.Len)) {
		return nil, errors.New("Error reading data, varField extends beyond buffer")
	}
	return [.BufferOffset : .BufferOffset+uint32(.Len)], nil
}

func ( varField) ( []byte,  bool) (string, error) {
	,  := .ReadFrom()
	if  != nil {
		return "", 
	}
	if  { // UTF-16LE encoding scheme
		return fromUnicode()
	}
	// OEM encoding, close enough to ASCII, since no code page is specified
	return string(), 
}

func newVarField( *int,  int) varField {
	 := varField{
		Len:          uint16(),
		MaxLen:       uint16(),
		BufferOffset: uint32(*),
	}
	* += 
	return 
}